{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--BOOK_INFORMATION-->\n",
    "<img align=\"left\" style=\"padding-right:10px;\" src=\"figures/PDSH-cover-small.png\">\n",
    "\n",
    "*This notebook contains an excerpt from the [Python Data Science Handbook](http://shop.oreilly.com/product/0636920034919.do) by Jake VanderPlas; the content is available [on GitHub](https://github.com/jakevdp/PythonDataScienceHandbook).*\n",
    "\n",
    "*The text is released under the [CC-BY-NC-ND license](https://creativecommons.org/licenses/by-nc-nd/3.0/us/legalcode), and code is released under the [MIT license](https://opensource.org/licenses/MIT). If you find this content useful, please consider supporting the work by [buying the book](http://shop.oreilly.com/product/0636920034919.do)!*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [Further Resources](03.13-Further-Resources.ipynb) | [Contents](Index.ipynb) | [Simple Line Plots](04.01-Simple-Line-Plots.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.00-Introduction-To-Matplotlib.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Visualization with Matplotlib"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We'll now take an in-depth look at the Matplotlib package for visualization in Python.\n",
    "Matplotlib is a multi-platform data visualization library built on NumPy arrays, and designed to work with the broader SciPy stack.\n",
    "It was conceived by John Hunter in 2002, originally as a patch to IPython for enabling interactive MATLAB-style plotting via gnuplot from the IPython command line.\n",
    "IPython's creator, Fernando Perez, was at the time scrambling to finish his PhD, and let John know he wouldn’t have time to review the patch for several months.\n",
    "John took this as a cue to set out on his own, and the Matplotlib package was born, with version 0.1 released in 2003.\n",
    "It received an early boost when it was adopted as the plotting package of choice of the Space Telescope Science Institute (the folks behind the Hubble Telescope), which financially supported Matplotlib’s development and greatly expanded its capabilities.\n",
    "\n",
    "One of Matplotlib’s most important features is its ability to play well with many operating systems and graphics backends.\n",
    "Matplotlib supports dozens of backends and output types, which means you can count on it to work regardless of which operating system you are using or which output format you wish.\n",
    "This cross-platform, everything-to-everyone approach has been one of the great strengths of Matplotlib.\n",
    "It has led to a large user base, which in turn has led to an active developer base and Matplotlib’s powerful tools and ubiquity within the scientific Python world.\n",
    "\n",
    "In recent years, however, the interface and style of Matplotlib have begun to show their age.\n",
    "Newer tools like ggplot and ggvis in the R language, along with web visualization toolkits based on D3js and HTML5 canvas, often make Matplotlib feel clunky and old-fashioned.\n",
    "Still, I'm of the opinion that we cannot ignore Matplotlib's strength as a well-tested, cross-platform graphics engine.\n",
    "Recent Matplotlib versions make it relatively easy to set new global plotting styles (see [Customizing Matplotlib: Configurations and Style Sheets](04.11-Settings-and-Stylesheets.ipynb)), and people have been developing new packages that build on its powerful internals to drive Matplotlib via cleaner, more modern APIs—for example, Seaborn (discussed in [Visualization With Seaborn](04.14-Visualization-With-Seaborn.ipynb)), [ggpy](http://yhat.github.io/ggpy/), [HoloViews](http://holoviews.org/), [Altair](http://altair-viz.github.io/), and even Pandas itself can be used as wrappers around Matplotlib's API.\n",
    "Even with wrappers like these, it is still often useful to dive into Matplotlib's syntax to adjust the final plot output.\n",
    "For this reason, I believe that Matplotlib itself will remain a vital piece of the data visualization stack, even if new tools mean the community gradually moves away from using the Matplotlib API directly."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## General Matplotlib Tips\n",
    "\n",
    "Before we dive into the details of creating visualizations with Matplotlib, there are a few useful things you should know about using the package."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Importing Matplotlib\n",
    "\n",
    "Just as we use the ``np`` shorthand for NumPy and the ``pd`` shorthand for Pandas, we will use some standard shorthands for Matplotlib imports:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The ``plt`` interface is what we will use most often, as we shall see throughout this chapter."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Setting Styles\n",
    "\n",
    "We will use the ``plt.style`` directive to choose appropriate aesthetic styles for our figures.\n",
    "Here we will set the ``classic`` style, which ensures that the plots we create use the classic Matplotlib style:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.style.use('classic')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Throughout this section, we will adjust this style as needed.\n",
    "Note that the stylesheets used here are supported as of Matplotlib version 1.5; if you are using an earlier version of Matplotlib, only the default style is available.\n",
    "For more information on stylesheets, see [Customizing Matplotlib: Configurations and Style Sheets](04.11-Settings-and-Stylesheets.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ``show()`` or No ``show()``? How to Display Your Plots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A visualization you can't see won't be of much use, but just how you view your Matplotlib plots depends on the context.\n",
    "The best use of Matplotlib differs depending on how you are using it; roughly, the three applicable contexts are using Matplotlib in a script, in an IPython terminal, or in an IPython notebook."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Plotting from a script\n",
    "\n",
    "If you are using Matplotlib from within a script, the function ``plt.show()`` is your friend.\n",
    "``plt.show()`` starts an event loop, looks for all currently active figure objects, and opens one or more interactive windows that display your figure or figures.\n",
    "\n",
    "So, for example, you may have a file called *myplot.py* containing the following:\n",
    "\n",
    "```python\n",
    "# ------- file: myplot.py ------\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "x = np.linspace(0, 10, 100)\n",
    "\n",
    "plt.plot(x, np.sin(x))\n",
    "plt.plot(x, np.cos(x))\n",
    "\n",
    "plt.show()\n",
    "```\n",
    "\n",
    "You can then run this script from the command-line prompt, which will result in a window opening with your figure displayed:\n",
    "\n",
    "```\n",
    "$ python myplot.py\n",
    "```\n",
    "\n",
    "The ``plt.show()`` command does a lot under the hood, as it must interact with your system's interactive graphical backend.\n",
    "The details of this operation can vary greatly from system to system and even installation to installation, but matplotlib does its best to hide all these details from you.\n",
    "\n",
    "One thing to be aware of: the ``plt.show()`` command should be used *only once* per Python session, and is most often seen at the very end of the script.\n",
    "Multiple ``show()`` commands can lead to unpredictable backend-dependent behavior, and should mostly be avoided."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Plotting from an IPython shell\n",
    "\n",
    "It can be very convenient to use Matplotlib interactively within an IPython shell (see [IPython: Beyond Normal Python](01.00-IPython-Beyond-Normal-Python.ipynb)).\n",
    "IPython is built to work well with Matplotlib if you specify Matplotlib mode.\n",
    "To enable this mode, you can use the ``%matplotlib`` magic command after starting ``ipython``:\n",
    "\n",
    "```ipython\n",
    "In [1]: %matplotlib\n",
    "Using matplotlib backend: TkAgg\n",
    "\n",
    "In [2]: import matplotlib.pyplot as plt\n",
    "```\n",
    "\n",
    "At this point, any ``plt`` plot command will cause a figure window to open, and further commands can be run to update the plot.\n",
    "Some changes (such as modifying properties of lines that are already drawn) will not draw automatically: to force an update, use ``plt.draw()``.\n",
    "Using ``plt.show()`` in Matplotlib mode is not required."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Plotting from an IPython notebook\n",
    "\n",
    "The IPython notebook is a browser-based interactive data analysis tool that can combine narrative, code, graphics, HTML elements, and much more into a single executable document (see [IPython: Beyond Normal Python](01.00-IPython-Beyond-Normal-Python.ipynb)).\n",
    "\n",
    "Plotting interactively within an IPython notebook can be done with the ``%matplotlib`` command, and works in a similar way to the IPython shell.\n",
    "In the IPython notebook, you also have the option of embedding graphics directly in the notebook, with two possible options:\n",
    "\n",
    "- ``%matplotlib notebook`` will lead to *interactive* plots embedded within the notebook\n",
    "- ``%matplotlib inline`` will lead to *static* images of your plot embedded in the notebook\n",
    "\n",
    "For this book, we will generally opt for ``%matplotlib inline``:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "#%matplotlib notebook"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After running this command (it needs to be done only once per kernel/session), any cell within the notebook that creates a plot will embed a PNG image of the resulting graphic:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "x = np.linspace(0, 10, 100)\n",
    "\n",
    "fig = plt.figure()\n",
    "plt.plot(x, np.sin(x), '-')\n",
    "plt.plot(x, np.cos(x), '--');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Saving Figures to File\n",
    "\n",
    "One nice feature of Matplotlib is the ability to save figures in a wide variety of formats.\n",
    "Saving a figure can be done using the ``savefig()`` command.\n",
    "For example, to save the previous figure as a PNG file, you can run this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig.savefig('my_figure.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We now have a file called ``my_figure.png`` in the current working directory:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "'ls' 不是内部或外部命令，也不是可运行的程序\n",
      "或批处理文件。\n"
     ]
    }
   ],
   "source": [
    "!ls -lh my_figure.png"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To confirm that it contains what we think it contains, let's use the IPython ``Image`` object to display the contents of this file:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image('my_figure.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In ``savefig()``, the file format is inferred from the extension of the given filename.\n",
    "Depending on what backends you have installed, many different file formats are available.\n",
    "The list of supported file types can be found for your system by using the following method of the figure canvas object:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'ps': 'Postscript',\n",
       " 'eps': 'Encapsulated Postscript',\n",
       " 'pdf': 'Portable Document Format',\n",
       " 'pgf': 'PGF code for LaTeX',\n",
       " 'png': 'Portable Network Graphics',\n",
       " 'raw': 'Raw RGBA bitmap',\n",
       " 'rgba': 'Raw RGBA bitmap',\n",
       " 'svg': 'Scalable Vector Graphics',\n",
       " 'svgz': 'Scalable Vector Graphics',\n",
       " 'jpg': 'Joint Photographic Experts Group',\n",
       " 'jpeg': 'Joint Photographic Experts Group',\n",
       " 'tif': 'Tagged Image File Format',\n",
       " 'tiff': 'Tagged Image File Format'}"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fig.canvas.get_supported_filetypes()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that when saving your figure, it's not necessary to use ``plt.show()`` or related commands discussed earlier."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Two Interfaces for the Price of One\n",
    "\n",
    "A potentially confusing feature of Matplotlib is its dual interfaces: a convenient MATLAB-style state-based interface, and a more powerful object-oriented interface. We'll quickly highlight the differences between the two here."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### MATLAB-style Interface\n",
    "\n",
    "Matplotlib was originally written as a Python alternative for MATLAB users, and much of its syntax reflects that fact.\n",
    "The MATLAB-style tools are contained in the pyplot (``plt``) interface.\n",
    "For example, the following code will probably look quite familiar to MATLAB users:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()  # create a plot figure\n",
    "\n",
    "# create the first of two panels and set current axis\n",
    "plt.subplot(2, 1, 1) # (rows, columns, panel number)\n",
    "plt.plot(x, np.sin(x))\n",
    "\n",
    "# create the second panel and set current axis\n",
    "plt.subplot(2, 1, 2)\n",
    "plt.plot(x, np.cos(x));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It is important to note that this interface is *stateful*: it keeps track of the \"current\" figure and axes, which are where all ``plt`` commands are applied.\n",
    "You can get a reference to these using the ``plt.gcf()`` (get current figure) and ``plt.gca()`` (get current axes) routines.\n",
    "\n",
    "While this stateful interface is fast and convenient for simple plots, it is easy to run into problems.\n",
    "For example, once the second panel is created, how can we go back and add something to the first?\n",
    "This is possible within the MATLAB-style interface, but a bit clunky.\n",
    "Fortunately, there is a better way."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Object-oriented interface\n",
    "\n",
    "The object-oriented interface is available for these more complicated situations, and for when you want more control over your figure.\n",
    "Rather than depending on some notion of an \"active\" figure or axes, in the object-oriented interface the plotting functions are *methods* of explicit ``Figure`` and ``Axes`` objects.\n",
    "To re-create the previous plot using this style of plotting, you might do the following:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# First create a grid of plots\n",
    "# ax will be an array of two Axes objects\n",
    "fig, ax = plt.subplots(2)\n",
    "#fig, ax = plt.subplots(1,2)\n",
    "\n",
    "# Call plot() method on the appropriate object\n",
    "ax[0].plot(x, np.sin(x))\n",
    "ax[1].plot(x, np.cos(x));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For more simple plots, the choice of which style to use is largely a matter of preference, but the object-oriented approach can become a necessity as plots become more complicated.\n",
    "Throughout this chapter, we will switch between the MATLAB-style and object-oriented interfaces, depending on what is most convenient.\n",
    "In most cases, the difference is as small as switching ``plt.plot()`` to ``ax.plot()``, but there are a few gotchas that we will highlight as they come up in the following sections."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [Further Resources](03.13-Further-Resources.ipynb) | [Contents](Index.ipynb) | [Simple Line Plots](04.01-Simple-Line-Plots.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.00-Introduction-To-Matplotlib.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
